Dynamic Routing Between Capsules

Introduction

This paper is going to show that a discrimininatively trained, multi-layer capsule system achieves state-of-the-art performance on MNIST and isconsiderably better than a convolutional net at recognizing highly overlapping digits.

Each layer will be divided into many small groups of neurons called “capsules”. Each node in the parse tree will correspond to an active capsule.

在这篇文章中,一个capsule是一组神经元,它们的活动向量表示特定物体的或实物的一种。叫做instantiation parameters,用方向来表示,而向量的长度则表示这个实物、物体出现的概率。 一层中被激活的多个capsule为高一层的capsuleinstantiation parameters做预测。当多个预测吻合时,一个更高层的capsule被激活。

一个被激活的capsule里的神经元的活动表示特定物体的多个属性。包括多个instantiation parameter,比如姿态(位置、大小和方向)、形变、速率、颜色、质地等,其中比较特殊的属性是物体是否存在。可以用一个独立的逻辑单元来表示。这篇文章则是用了向量的长度来表示是否存在。

对于每一个可能的父辈,capsule都用它的输出和一个权重矩阵相乘计算一个prediction vector。如果这个prediction vector和父辈的输出的scalar product的值最大则选择这个作为父辈。这个叫做routing-by-agreement

除了Margin Loss之外,这个网络还加上了reconstruction loss来正则化,确保包含了该有的信息。最终输出的是16x10的向量,10表示有10个类别,因为是识别数字,16则是这个capsule的维度,其中有一个维度会一直表示识别图片中的数字的宽度。

另外这篇文章的最后一段真是霸气,推荐先看一下。但是整个网络感觉新的东西不太多,可能是第一遍没看清楚,对我来说比较新的就是用reconstruction loss来约束训练。

分享到